﻿@model Tuple<List<CategoryViewModel>, List<CategoryViewModel>>
@{
    Layout = null;
}
@{

    var all = this.Model.Item1;
    var userItems = this.Model.Item2;

    foreach (var cat in all)
    {
        var id = Guid.NewGuid().ToString();
        <label for="@id" class="labelItem">
            <span class="btn btn-success">
                @if (userItems.Any(i => i.Id == cat.Id))
                {
                    <input type="checkbox" id="@id" name="categoryIds" data-id="@cat.Id" class="catItem" checked>
                }
                else
                {
                    <input type="checkbox" id="@id" name="categoryIds" data-id="@cat.Id" class="catItem">
                }
                @cat.Title
            </span>
        </label>
    }
}
<script>
    function addUserCategory(checkBox) {
        $.ajax({
            type: 'POST',
            url: '/Category/AddUserCategory',
            data: { id: $(checkBox).attr('data-id') },
            beforeSend: function () {
                App.blockUI(checkBox);
            },
            success: function () {
                toastrHelper.success('با موفقیت ثبت شد')
                App.unblockUI(checkBox);
            },
            error: function () {
                toastrHelper.error('عدم توفیق در ثبت اطلاعات');
                App.unblockUI(checkBox);
            }
        })
    }

    function removeUserCategory(checkBox) {
        $.ajax({
            type: 'POST',
            url: '/Category/RemoveUserCategory',
            data: { id: $(checkBox).attr('data-id') },
            beforeSend: function () {
                App.blockUI(checkBox);
            },
            success: function () {
                toastrHelper.success('با موفقیت ثبت شد')
                App.unblockUI(checkBox);
            },
            error: function () {
                toastrHelper.error('عدم توفیق در ثبت اطلاعات');
                App.unblockUI(checkBox);
            }
        })
    }

    $('.catItem').change(function (e) {
        if ($(this).is(':checked')) {
            addUserCategory($(this));
        } else {
            removeUserCategory($(this));
        }
    });
</script>
